<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        {{fatherValue}}
        <!-- 父组件使用子组件时，使用v-model指令，在子组件中需要使用 value属性 获取props的值 -->
        <!-- https://www.cnblogs.com/yuerdong/p/9871944.html -->
        <soncpn :cmovies="movies" :cmsg="msg" :cperson='person' v-model="fatherValue"></soncpn>
    </div>
</body>

<!-- 定义子组件 -->
<template id="soncpn">
    <div>
        <h1>我是子组件</h1>
        <h1 v-for="(movie,index) in cmovies">{{movie}}</h1>
        <hr>
        <p>{{cmsg}}</p>
        <hr>
        <p>{{cperson}}</p>
        <hr>
        <p>{{value}}</p>

        <button @click="changeFatherValue">改变</button>
    </div>
</template>
<script src="../js/http_cdn.bootcdn.net_ajax_libs_vue_2.6.6_vue.js"></script>
<script>
    // 绑定子组件
    const soncpn = {
        // 子组件接收的参数
        props:{
            cmovies:{
                type:Array,
                requeir:true
            },
            cmsg:{
                type:String,
                requeir:true,
                default:"我是默认的消息"
            },
            cperson:{
                type:Object
            },
            value: ''
        },
        methods: {
            changeFatherValue() {
                this.$emit('input','被儿子改变了')
            }
        },
        template:"#soncpn"
    }

    // 父组件
    new Vue({
        el:"#app",
        data:{
            movies:['海王','海贼王','海尔兄弟'],
            msg:"我是父组件的消息",
            person:{
                age:'123',
                name:'我是你爹'
            },
            fatherValue: '我是你的爸爸'
        },
        components:{
            soncpn
        }
    })
</script>
</html>
